Automatic Generation of Simple Lemmas from Recursive Definitions Using Decision Procedures - Preliminary Report
نویسندگان
چکیده
Using recent results on integrating induction schemes into decidable theories, a method for generating lemmas useful for reasoning about T -based function definitions is proposed. The method relies on terms in a decidable theory admitting a (finite set of) canonical form scheme(s) and ability to solve parametric equations relating two canonical form schemes with parameters. Using nontrivial examples, it is shown how the method can be used to automatically generate many simple lemmas; these lemmas are likely to be found useful in automatically proving other nontrivial properties of T -based functions, thus unburdening the user of having to provide many simple intermediate lemmas. During the formalization of a problem, after a user inputs T -based definitions, the method can be employed in the background to explore a search space of possible conjectures which can be attempted, thus building a library of lemmas as well as false conjectures. This investigation was motivated by our attempts to automatically generate lemmas arising in proofs of generic, arbitrary data-width parameterized arithmetic circuits. The scope of applicability of the proposed method is broader, however, including generating proofs for proof-carrying codes, certification of proof-carrying code as well as in reasoning about distributed computation algorithms.
منابع مشابه
Automatic Generation of Generalization Lemmas for Proving Properties of Tail-Recursive Definitions
Automatically proving properties of tail-recursive function definitions by induction is known to be challenging. The difficulty arises due to a property of a tail-recursive function definition typically expressed by instantiating the accumulator argument to be a constant only on one side of the property. The application of the induction hypothesis gets blocked in a proof attempt. Following an a...
متن کاملOn Automated Lemma Generation for Separation Logic with Inductive Definitions
Separation Logic with inductive definitions is a well-known approach for deductive verification of programs that manipulate dynamic data structures. Deciding verification conditions in this context is usually based on user-provided lemmas relating the inductive definitions. We propose a novel approach for generating these lemmas automatically which is based on simple syntactic criteria and dete...
متن کاملA Practical Approach to Verification of Recursive Programs in Theorema extended abstract
We report work in progress concerning the theoretical basis and the implementation in the Theorema system of a methodology for the generation of verification conditions for recursive procedures, with the aim of practical verification of recursive programs. Proving total correctness is achieved by proving separately partial correctness and then termination. We develop a pattern for proving parti...
متن کاملA Brief Overview of PVS
PVS is now 15 years old, and has been extensively used in research, industry, and teaching. The system is very expressive, with unique features such as predicate subtypes, recursive and corecursive datatypes, inductive and coinductive definitions, judgements, conversions, tables, and theory interpretations. The prover supports a combination of decision procedures, automatic simplification, rewr...
متن کاملAutomatic formulation of falling multiple flexible-link robotic manipulators using 3×3 rotational matrices
In this paper, the effect of normal impact on the mathematical modeling of flexible multiple links is investigated. The response of such a system can be fully determined by two distinct solution procedures. Highly nonlinear differential equations are exploited to model the falling phase of the system prior to normal impact; and algebraic equations are used to model the normal collision of this ...
متن کامل